81de7ca6ec75d1c33877b1f61ab12b88fa568cee,plugins/groovy/src/org/jetbrains/plugins/groovy/lang/psi/impl/statements/expressions/GrReferenceExpressionImpl.java,GrReferenceExpressionImpl,getVariantsImpl,#ResolverProcessor#,213
Before Change
GroovyResolveResult[] candidates = processor.getCandidates();
if (candidates.length == 0) return PsiNamedElement.EMPTY_ARRAY;
return ResolveUtil.mapToElements(candidates);
}
public boolean isSoft() {
After Change
GroovyResolveResult[] candidates = processor.getCandidates();
if (candidates.length == 0) return PsiNamedElement.EMPTY_ARRAY;
Object[] elements = ResolveUtil.mapToElements(candidates);
if (qualifierClass != null && !(qualifierClass instanceof GrTypeDefinition)) {
List<PsiMethod> groovyDefaults = new ArrayList<PsiMethod>();
addDefaultMethods(qualifierClass, groovyDefaults, new HashSet<PsiClass>());
if (groovyDefaults.size() > 0) {
PsiMethod[] defaultMethods = groovyDefaults.toArray(new PsiMethod[groovyDefaults.size()]);
return ArrayUtil.mergeArrays(elements, defaultMethods, Object.class);
}
}
return elements;
}
private void addDefaultMethods(PsiClass clazz, List<PsiMethod> groovyDefaults, Set<PsiClass> visited) {